#include <stdio.h>

/*
 *	++
 *
 *		i++是先赋值再计算
 *
 *		++i是先计算再赋值
 */

int sumarr(int array[])
{
	*(array++) = 88;	
	*(array++) = 99;	
	*(++array) = 77;	 
}

int sub(void)
{
	int j = 5;

	printf("j = %d\n", j--);	// 5
	printf("j = %d\n", j--);	// 4
	printf("j = %d\n", --j);	// 2

	j = 0;
	printf("j = %d\n", ++j);	// 1
	printf("j = %d\n", ++j);	// 2
	printf("j = %d\n", j--);	// 2
	printf("j = %d\n", j--);	// 1

	j = 8;
	printf("j = %d\n", --j);	// 7
	printf("j = %d\n", --j);	// 6
	printf("j = %d\n", j--);	// 6
}

int nor(void)
{
	int i = -1;

	i = -1;
	printf("i = %d\n", !i);	// 0

	i = 0;
	printf("i = %d\n", !i);	// 1

	i = 1;
	printf("i = %d\n", !i);	// 0

	i = 2;
	printf("i = %d\n", !i);	// 0
}

int main()
{
	int sum = 0;
	int array[10]={0,1,2,3,4,5};
	int i=0;

	sum = i++;
	printf("sum = %d, i = %d\n", sum, i);	// sum = 0, i = 1.  先赋值：就是先把 i 赋值给 sum, 然后 i 再加1.

	sum = 0;
	i = 0;
	sum = (i++);
	printf("sum = %d, i = %d\n", sum, i);	// sum = 0, i = 1.  

	sum = 0;
	i = 0;
	sum = ++i;
	printf("sum = %d, i = %d\n", sum, i);	// sum = 1, i = 1.  先计算：先计算 i, 再赋值给 sum.

	sumarr(array);
	printf("array = %d\n", array[0]);	// 88
	printf("array = %d\n", array[1]);	// 99
	printf("array = %d\n", array[2]);	//	2
	printf("array = %d\n", array[3]);	// 77

	sub();
	nor();

	return 0;
}
